#ifndef DATATYPES_H
#define DATATYPES_H
#include <string>
#include <vector>

enum AddressType
{
    PHYSICAL,
    FUNCTIONAL
};
enum ConnectionState
{
    DISCONNECTED,
    CONNECTED
};

struct MessageFormat
{
    AddressType addressType;
    size_t length;
    bool lengthBytePresent;
};
struct PartiesAddresses
{
    PartiesAddresses()
    :remotePartyAddressType(PHYSICAL), remoteParty(0), localParty(0)
    {}
    PartiesAddresses(AddressType remoteType, char remote, char local)
        :remotePartyAddressType(remoteType), remoteParty(remote), localParty(local)
    {}
    AddressType remotePartyAddressType;
    char remoteParty;
    char localParty;//local address is always physical
};
//typedef std::vector<unsigned char> Data;
typedef unsigned char DataType ;
typedef std::vector<DataType> Data;

#endif // DATATYPES_H
